/**
 * <p>文件名:		Basic.java</p>
 * <p>版权:		CopyrightTag</p>
 * <p>公司:		CompanyTag</p>
 * @author		周华彬(zhouhuabin@ctfo.com, zhou_hua_bin@163.com)
 */

package com.caits.lbs.framework.services.hessian.server;

import org.dom4j.Document;


/**
 * <p>
 * Basic
 * </p>
 * <p>
 * 基本的远程调用接口
 * </p>
 * 
 * @author 周华彬(zhouhuabin@ctfo.com, zhou_hua_bin@163.com)
 * @version 1.0.0
 *          <table style="border:1px solid gray;">
 *          <tr>
 *          <th width="100px">版本号</th>
 *          <th width="100px">动作</th>
 *          <th width="100px">修改人</th>
 *          <th width="100px">修改时间</th>
 *          </tr>
 *          <!-- 以 Table 方式书写修改历史 -->
 *          <tr>
 *          <td>0.0.0</td>
 *          <td>创建类</td>
 *          <td>zhb</td>
 *          <td>2010-11-16 下午02:49:54</td>
 *          </tr>
 *          <tr>
 *          <td>1.0.0</td>
 *          <td>add jmx and memcache test</td>
 *          <td>sxd</td>
 *          <td>2011-01-05 16:19</td>
 *          </tr>
 *          </table>
 */
public interface IHessianBaseService {


		/**
		 * 判断会话是否存在 
		 * @return
		 */
		public boolean validSession(String cookie);
		/**
		 * 通用的对象服务调用方式，效率高，但类型转换比较繁琐 
		 * @param name
		 * 			方法名称
		 * @param objs
		 * 			参数数组
		 * @return
		 * 			obj
		 * 			返回的对象
		 * @throws Exception
		 */
		public Object objectService(String name,Object[] objs) throws Exception;
		/**
		 * 对外提供xml服务通用方法，效率不是很高，但通用性好 
		 * @param cookie
		 * @param xmlDoc
		 * @param	compress
		 * 			压缩类型  0-不压缩,1-GZIP压缩
		 * @return
		 * @throws Exception
		 */
		public String xmlService(String cookie, String xmlDoc,int compress) throws Exception ;
		
		/**
		 * 对外提供xml服务通用方法，效率不错，通用性好 
		 * @param cookie
		 * @param xmlDoc
		 * @param	compress
		 * 			压缩类型  0-不压缩,1-GZIP压缩，备用
		 * @return
		 * @throws Exception
		 */
		public Document docService(String cookie, Document xmlDoc,int compress) throws Exception ;
		
}
